package com.quiz.bis.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.quiz.bis.domain.model.QuestionAnswer;
import com.quiz.bis.domain.model.QuestionOption;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class QuestionDetailVo {
    private Long id;
    private String title; // 题目 (题目标题)
    private String content; // 题目html内容 (题干)
    private String contentText;  // 题目txt内容 (题干)
    private Long typeId; // 题目类型id
    private String typeName; // 题目类型名称
    private Integer hasAnswer; // 是否有答案 0-否，1-主观，2-客观，3-计算/推导,
    private Integer hasOption; // 是否有选项 0-无选项，1-单选、2多选
    private Integer difficult; // 难度
    private String attachmentIds; // 附件id
    private Integer status; // 状态
    private String analysis; // 解析-html内容
    private String analysisText; // 解析-txt内容
    private String remark; // 备注
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime; // 创建时间
    private String categoryId; // 题目分类id(Long类型的字符串)
    private String categories; // 题目知识点名称(用逗号分隔)
    private String categoryIds; // 题目知识点Id(用逗号分隔)
    private BigDecimal score; // 题目分值
    private Long simHash; // 题目分值
    private String processedText;
    private Double similarity;
    // 全文搜索相关字段
    private Double relevance;

    private List<QuestionOption> options; // 选项
    private List<QuestionAnswer> answers; // 答案
}
